
            ######################################################################################
           ######################################################################################
          ##                                                                                  ##
         ##  ##   ##    ##  #####  ###### ##  ##   ####   ##        ######  ######  ######   ##
        ##   ##   ##   ##  ##  ##   ##   ##  ##  ##  ##  ##        ##      ##  ##  ##       ##
       ##    ##  ##   ##  ##  ##   ##   ##  ##  ##  ##  ##        ##      ##  ##  ##       ##
      ##     ## ##   ##  #####    ##   ##  ##  ######  ##        ##      ######  ##       ##
     ##      ###    ##  ##  ##   ##   ## ##   ##  ##  ##        ##      ##      ##       ##
    ##       ##    ##  ##   ##  ##    ####   ##  ##  ######    ######  ##      ######   ##
   ##                                                                                  ##
  ######################################################################################
 ######################################################################################



A 464,664,6128 CPC Emulator.
Written by Gleridis Christos 2005-2007.
Dedicated to all who were involved in the creation of this machine
and to all who are still devoted to CPCs!!!



WHAT IS A CPC?
----------------------------------------------------------------------------------
CPCs are 8-bit computers made in the middle 80s by Amstrad plc. 
CPC stands for Colour Personal Computer. There were 3 models:

464 with built-in cassette drive, 64 KB of memory.
664 with built-in floppy drive, 64 KB of memory.
6128 with built-in floppy drive, 128 KB of memory.

They were sold with a color or green monitor with integrated power 
supply for both the main part and the floppy drive. 



WHAT IS VIRTUAL CPC
----------------------------------------------------------------------------------
Virtual CPC is a CPC emulator written in Delphi Pascal. It emulates 
most of the features of the original machines with pretty good accuracy 
and speed. It is highly configurable. Some of the features are:

.Complete emulation of the Z80 CPU (undocumented instructions+timings)
.3 CRTC Types emulated. 
.Complete PSG emulation (including noise and envelope processing)
.Two Drives emulated as the original
.Windowed and Fullscreen Modes
.Snapshot Support (Can load most of the Snapshots created with other CPC emulators)
.Lightpen support
.Easy GUI
.Integrated Debugger
.Extended support for CPCs Parallel Port (Multiple Modes, even direct bi-directional LPT use)
.Load of different Profiles
.Various Windowed and Fullscreen Modes

This list is growing so check for updates...



SHORT MANUAL
----------------------------------------------------------------------------------
Uncompress the archive at a desired place. Run the Program. It will create
V_CPC.ini and Default.pfl with default settings. Create a Shortcut if you like. 
Enjoy!


Below is a brief explanation of the options.

File
        .Floppy X: (Where X: A: or B:)
		
        .Load                     -Load a DSK Image (only DSK MV and Extended Format supported). 
				   **Be careful!** The DSK file is locked while Virtual CPC is running.
				   You can not erase, move or open it with other applications.
		
		.Eject  	  -Eject DSK and release the file.
		
		.Write Protected  -You may want to forbid any WRITES to a DSK file.
	
	.Load Snapshot   	  -Load a complete snapshot of the CPC.
   	
	.Save Snapshot	          -Create a 64K snapshot of the CPC.

	.Exit		          -Exit emulator.

.Options
	.CPC Configuration

		.Model            -Select the Brand, the CRTC type and the Monitor Type
	
		.CPU	          -Set the CPU Speed and enable/disable Z80 cycles
			           CPU Speed is highly dependable on the host's clock
		
		.Display	  -Set various Aspects of Windowed of Fullscreen Modes
		
		.RAM              -Set the amount of RAM

		.ROM0-7           -Set ROMs (0 to 7). The Dropdown menu will show only the 
			           ROMs located in the ROM directory.
		
		.ROM7-15          -The same as above.

		.Sound	          -Enable/disable Sound, set the playback format (valid only for PSG)

		.Peripherals      -Set the desired Mode of the parallel port. Enable Light Pen.
				   
				   **Be Careful!** The LPT Address must be valid or else unpredictable
				   results, even data loss, may occur! 
				   Usually LPT1 is located at 888[DECIMAL] (0x378[HEX])
				   and LPT2 at  1016[DECIMAL] (0x3F8[HEX]). Theses settings will 				   				   probably do the trick. Check Parallel port in Device Manager

	.Misc Settings
		
		.Directories	  -Set/Examine the default directories for printer output, screen captures
				   etc

		.Capture	  -Set the format of Screen Captures. Can set the amount of compression
				   for JPG files. (80% is considered a decent choice)
	
		.Misc		  -Toolbar and Statusbar Behaviour in FullScreen. Select the New DSK type.

.Profiles	
	.Use Profile	  	  -Load a predefined profile

	.Create New Profile	  -Create a new Profile

	.Current		  -Just displays the current profile		

.Tools	        
	.Create New Disk  	  -Creates an empty formated DSK file. The Type is determined elsewhere.	

.About				  -Information about the Emulator.



HOTKEYS
-------
F3        - Show/Hide mouse cursor
F4	  - Debugger Step 
F6 	  - Save ScreenShot
F9	  - Reset
F10 	  - Pause/Resume Emulation
F11	  - Fullscreen
F12	  - Exit
NumLock   - Toggle between CPC FKeys and Joystick



Important Notes
---------------
.Keyboard
  All keys can be used except the compination Ctrl+Shift+Esc.
  PC key 'END' is used as CPC 'COPY' key.
  
.Joystick
  Joystick operates through the keyboard. Use Numpad keys 2,4,6,8 for the arrows 
  and 1,0 for Fire 1,2. 

.Tapes
  I am sorry. I didn't write the code needed for reading tapes. But I will some day...

.Parallel Port
  The inpout32.dll used for direct LPT access will put a driver in WINDOWS\SYSTEM32\DRIVERS
  This will surely not cause any harm to your system...Visit www.logix4u.net for more information.

.Serial Port
  This option is disabled for the moment as I need to gather more info about the CPC expansions which
  supplied a Serial Communications Interface.

.Mouse
  This option is disabled but there is progress.

.Minimum Requirements 
  At least a Pentium III or Athlon XP (sorry). The emulation demands the SSE subset capabilities.



Contact Me
----------
Feel free to contact me via email for any problem, idea or even critism. Offending messages and SPAM 
will be immediately deleted!   

EMAIL: virtual_cpc@yahoo.gr



Acknowlegdements
----------------
.Kevin Thacker   	(for the excellent collection of resources about CPC,
		  	 he is the author of another CPC emulator, called Arnold)
.Thomas Scherrer 	(for information about Z80 in his webpage)
.Sean Young and
 Jan WilMans 		(for the Undocumented Z80 Opcodes found in their well written PDF)
.www.logix4u.net	(for the freeware inpout32.dll used for the direct LPT access)

Credits go to all who helped the above people. 



Useful Links
------------
.Home Page
  http://www.geocities.com/virtualcpc

.ROMs-Disk Images-Tape Images
  http://tacgr.emuunlim.com/
  http://www.cpcgamereviews.com/

.Useful Information 
  http://www.cpcwiki.com/index.php/Main_Page
  http://andercheran.aiind.upv.es/~amstrad/
  http://www.geocities.com/SiliconValley/Peaks/3938/z80_home.htm

